package com.xinbochuang.machine.admin.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xinbochuang.machine.common.annotation.Excel;
import com.xinbochuang.machine.common.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 *
 * @author 杜文博
 * @date 2020-10-14
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("MACINOUT")
public class Macinout extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 工单流水号
     */
    @TableId("UUID")
    @Excel(name = "工单号", height = 20)
    private String uuid;

    /**
     * 进出编号
     */
    @TableField("ORDER_NO")
    private String orderNo;
    /**
     * 工单状态（1为待提交，2待审核，，3为已驳回，4为待验收， 5已验收）
     */
    @TableField("ORDER_STATUS")
    private Integer orderStatus;

    /**
     * 建单人
     */
    @TableField("CREATE_ORDER_USER_ID")
    private String createOrderUserId;

    /**
     * 建单人姓名
     */
    @TableField("CREATE_ORDER_USER_NAME")
    @Excel(name = "建单人", height = 20)
    private String createOrderUserName;

    /**
     * 建单人所在部门
     */
    @TableField("CREATE_ORDER_DEPT")
    @Excel(name = "建单部门", height = 20)
    private String createOrderDept;

    /**
     * 工单状态（1为待提交，2待审核，3为已驳回，4为验收， 5已验收， 6已终止）
     */
    @TableField(exist = false)
    @Excel(name = "审核状态", height = 20)
    private String orderStatusStr;

    /**
     * 工单主题
     */
    @TableField("ORDER_THEME")
    @Excel(name = "工单主题", height = 20)
    private String orderTheme;

    /**
     * 工程名称
     */
    @TableField("ORDER_NAME")
    @Excel(name = "工程名称", height = 20)
    private String orderName;

    /**
     * 施工单位
     */
    @TableField("CONSTRUCTION_DEPT")
    private String constructionDept;

    /**
     * 施工单位主键
     */
    @TableField("CONSTRUCTION_DEPT_ID")
    private String constructionDeptId;

    /**
     * 施工类型
     */
    @TableField(exist = false)
    @Excel(name = "施工类型", height = 20)
    private String workTypeStr;

    /**
     * 施工类型1为机柜，2为其它
     */
    @TableField("WORK_TYPE")
    private Integer workType;

    /**
     * 地市
     */
    @TableField("CITY")
    private String city;

    /**
     * 机房名称
     */
    @TableField("MAC_NAME")
    private String macName;

    /**
     * 机房表关联Id
     */
    @TableField("MAC_ID")
    private String macId;

    /**
     * 机柜Id
     */
    @TableField("CABINET_ID")
    private String cabinetId;

    /**
     * 机柜名称
     */
    @TableField("CABINET_NAME")
    private String cabinetName;

    /**
     * 机房责任人
     */
    @TableField("MAC_PRINCIPAL")
    private String macPrincipal;

    /**
     * 其它施工
     */
    @TableField("OTHER_WORK")
    private String otherWork;

    /**
     * 施工开始时间
     */
    @TableField("WORK_BEGIN_TIME")
    @Excel(name = "开始时间", height = 20, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT)
    private Date workBeginTime;

    /**
     * 施工结束时间
     */
    @TableField("WORK_END_TIME")
    @Excel(name = "结束时间", height = 20, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT)
    private Date workEndTime;

    /**
     * 施工部门现场负责人单位Id
     */
    @TableField("WORK_ING_PRINCPCIPAL_DEPT_ID")
    private String workIngPrincpcipalDeptId;

    /**
     * 施工部门现场负责人单位
     */
    @TableField("WORK_ING_PRINCPCIPAL_DEPT")
    private String workIngPrincpcipalDept;

    /**
     * 施工部门现场负责人Id
     */
    @TableField("WORK_ING_PRINCPCIPAL_ID")
    private String workIngPrincpcipalId;

    /**
     * 施工部门现场负责人姓名
     */
    @TableField("WORK_ING_PRINCPCIPAL")
    @Excel(name = "施工负责人", height = 20)
    private String workIngPrincpcipal;

    /**
     * 现场负责人联系电话
     */
    @TableField("WORK_ING_PRINCPCIPAL_TEL")
    @Excel(name = "负责人电话", height = 20)
    private String workIngPrincpcipalTel;

    /**
     * 自有随工人员
     */
    @TableField("FREE_WORKER")
    private String freeWorker;

    /**
     * 自有随工人员所在部门
     */
    @TableField("FREE_DEPT")
    private String freeDept;

    /**
     * 自由随工人员所在部门Id
     */
    @TableField("FREE_DEPT_ID")
    private String freeDeptId;

    /**
     * 建单人所在部门Id
     */
    @TableField("CREATE_ORDER_DEPT_ID")
    private String createOrderDeptId;

    /**
     * 审核说明
     */
    @TableField("CHECK_DETAIL")
    private String checkDetail;

    /**
     * 删除标志
     */
    @TableField("DELETE_FLAG")
    private Integer deleteFlag;

    @TableField("CREATE_TIME")
    private String createTime;

    @TableField("UPDATE_TIME")
    private String updateTime;

    @TableField("CREATE_BY")
    private String createBy;

    @TableField("UPDATE_BY")
    private String updateBy;

    /**
     * 是否告警
     */
    @TableField("ALARM")
    private Integer alarm;

    /**
     * 建单文件地址
     */
    @TableField("IMG_URL")
    private String imgUrl;

    /**
     * 工单号
     */
    @TableField("ORDER_ID")
    private String orderId;

    /**
     * 第三方工单名称
     */
    @TableField("ORDER_THIRD_NAME")
    private String orderThirdName;

    /**
     * 第三方工单Id
     */
    @TableField("ORDER_THIRD_ID")
    private String orderThirdId;

    /**
     * 自有随工人员
     */
    @TableField("FREE_WORKER_NAME")
    private String freeWorkerName;


    /**
     * 修改人
     */
    @TableField("APPROVE_BY")
    private String approveBy;

    /**
     * 修改时间
     */
    @TableField("APPROVE_TIME")
    private String approveTime;

    /**
     * 修改人
     */
    @TableField("CONFIRM_BY")
    private String confirmByUser;

    /**
     * 修改时间
     */
    @TableField("CONFIRM_TIME")
    private String confirmTime;

    /**
     * 修改时间
     */
    private transient String queryWorkType;

    private transient String loginUserId;

    /**
     * 修改时间
     */
    private transient String queryOrderStatus;
}
